package com.wenwan.manage.pojo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

@JsonInclude(Include.NON_NULL)
public class Report implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 2066767304075697620L;

	private String id;

	private String createTime;

	private String updateTime;
	@JsonIgnore
	private String proId;
	@JsonIgnore
	private String userId;

	private String content;
	@JsonIgnore
	private String imagesJson;

	private List<String> images = new ArrayList<String>();

	private String belong;

	private User beReportedUser;

	private User reportUser;

	private ReportArticle reportArticle;

	private Boolean isExamine;

	private Boolean isAdopt;

	public Report() {
		// TODO Auto-generated constructor stub
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getCreateTime() {
		return createTime;
	}

	public void setCreateTime(String createTime) {
		this.createTime = createTime;
	}

	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}

	public String getProId() {
		return proId;
	}

	public void setProId(String proId) {
		this.proId = proId;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public String getImagesJson() {
		return imagesJson;
	}

	public void setImagesJson(String imagesJson) {
		this.imagesJson = imagesJson;
	}

	public List<String> getImages() {
		if (imagesJson != null) {
			images = new Gson().fromJson(imagesJson, new TypeToken<List<String>>() {
			}.getType());
		} else {
			images = new ArrayList<String>();
		}
		return images;
	}

	public void setImages(List<String> images) {
		this.images = images;
	}

	public String getBelong() {
		return belong;
	}

	public void setBelong(String belong) {
		this.belong = belong;
	}

	public User getBeReportedUser() {
		return beReportedUser;
	}

	public void setBeReportedUser(User beReportedUser) {
		this.beReportedUser = beReportedUser;
	}

	public User getReportUser() {
		return reportUser;
	}

	public void setReportUser(User reportUser) {
		this.reportUser = reportUser;
	}

	public ReportArticle getReportArticle() {
		return reportArticle;
	}

	public void setReportArticle(ReportArticle reportArticle) {
		this.reportArticle = reportArticle;
	}

	public Boolean getIsExamine() {
		return isExamine;
	}

	public void setIsExamine(Boolean isExamine) {
		this.isExamine = isExamine;
	}

	public Boolean getIsAdopt() {
		return isAdopt;
	}

	public void setIsAdopt(Boolean isAdopt) {
		this.isAdopt = isAdopt;
	}

}
